home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1993 / Internet Info CD-ROM (Walnut Creek) (1993).iso / inet / internet-drafts / draft-ietf-pem-mime-00.txt < prev    next >
Text File  |  1993-03-03  |  17KB  |  706 lines

  1.  
  2.           draft                MIME-PEM Interaction               Nov 92
  3.  
  4.  
  5.                                MIME-PEM Interaction
  6.  
  7.                              Mon Nov 16 15:51:54 1992
  8.  
  9.  
  10.                                   Steve Crocker
  11.                            Trusted Information Systems
  12.                                  crocker@tis.com
  13.  
  14.  
  15.                                     Ned Freed
  16.                            Innosoft International, Inc.
  17.                                  ned@innosoft.com
  18.  
  19.  
  20.                                  Marshall T. Rose
  21.                            Dover Beach Consulting, Inc.
  22.                               mrose@dbc.mtview.ca.us
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.           1.  Status of this Memo
  30.  
  31.           This document is an Internet Draft.  Internet Drafts are
  32.           working documents of the Internet Engineering Task Force
  33.           (IETF), its Areas, and its Working Groups.  Note that other
  34.           groups may also distribute working documents as Internet
  35.           Drafts.
  36.  
  37.           Internet Drafts are valid for a maximum of six months and may
  38.           be updated, replaced, or obsoleted by other documents at any
  39.           time.  It is inappropriate to use Internet Drafts as reference
  40.           material or to cite them other than as a "work in progress".
  41.  
  42.  
  43.           2.  Abstract
  44.  
  45.           This memo defines a framework for interaction between MIME and
  46.           PEM services.
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.           Expires May 16, 1993                                  [Page 1]
  56.  
  57.  
  58.  
  59.  
  60.  
  61.           draft                MIME-PEM Interaction               Nov 92
  62.  
  63.  
  64.           3.  Introduction
  65.  
  66.           In the Internet community, an electronic mail message has two
  67.           parts: the headers and the body.  The headers form a
  68.           collection of field/value pairs structured according to RFC
  69.           822 [1], whilst the body, if structured, is defined according
  70.           to Multipurpose Internet Mail Extensions (MIME) [2].
  71.  
  72.           Privacy Enhanced Mail (PEM) [3-6] allows encryption and
  73.           authentication services to be applied to an electronic mail
  74.           message.
  75.  
  76.           This memo defines a framework whereby the services provided by
  77.           MIME and PEM are used in a complementary fashion.
  78.  
  79.           In order to provide for MIME-PEM interaction, two content
  80.           types, "multipart/pem" and "application/pem", are defined.
  81.           Then, the relationship between MIME and PEM is described in
  82.           terms of two functions: message composition and message
  83.           delivery.
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.           Expires May 16, 1993                                  [Page 2]
  115.  
  116.  
  117.  
  118.  
  119.  
  120.           draft                MIME-PEM Interaction               Nov 92
  121.  
  122.  
  123.           4.  Definiton of new Content Types
  124.  
  125.  
  126.           4.1.  Definition of the multipart/pem Content Type
  127.  
  128.           (1)  MIME type name: multipart
  129.  
  130.           (2)  MIME subtype name: pem
  131.  
  132.           (3)  Required parameters: boundary, privacy
  133.  
  134.           (4)  Optional parameters: none
  135.  
  136.           (5)  Encoding considerations: always 7bit
  137.  
  138.           (6)  Security Considerations: see [3]
  139.  
  140.  
  141.           This subtype of multipart always contains two body parts: the
  142.           first is an arbitrary content; and, the second is an
  143.           application/pem content which describes the privacy-
  144.           enhancements which resulted in the first body part.
  145.  
  146.           The value of the first body part corresponds to <pemtext> as
  147.           defined in [3].  Note that if <pemtext> is represented using
  148.           the base64 encoding, then a a Content-Transfer-Encoding:
  149.           header is present which indicates use of the base64 content
  150.           encoding.  Otherwise, if a Content-Transfer-Encoding: header
  151.           is present, it indicates use of the 7bit content encoding.
  152.  
  153.           The syntax and semantics of the boundary parameter is defined
  154.           in [2].
  155.  
  156.           The syntax of the privacy parameter, using the ABNF notation
  157.           of [1], is:
  158.  
  159.                privacy-value   ::= "ENCRYPTED"
  160.                                  / "MIC-ONLY"
  161.                                  / "MIC-CLEAR"
  162.  
  163.           with each value conveying the intent as specified in [3].
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.           Expires May 16, 1993                                  [Page 3]
  174.  
  175.  
  176.  
  177.  
  178.  
  179.           draft                MIME-PEM Interaction               Nov 92
  180.  
  181.  
  182.           4.2.  Definition of the application/pem Content Type
  183.  
  184.           (1)  MIME type name: application
  185.  
  186.           (2)  MIME subtype name: pem
  187.  
  188.           (3)  Required parameters: none
  189.  
  190.           (4)  Optional parameters: none
  191.  
  192.           (5)  Encoding considerations: always 7bit
  193.  
  194.           (6)  Security Considerations: see [3]
  195.  
  196.  
  197.           The syntax of this content type corresponds to the <pemhdr>
  198.           production defined in [3].
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.           Expires May 16, 1993                                  [Page 4]
  233.  
  234.  
  235.  
  236.  
  237.  
  238.           draft                MIME-PEM Interaction               Nov 92
  239.  
  240.  
  241.           5.  Message Composition
  242.  
  243.           When a user composes a message, it is the responsibility of
  244.           the user agent to use the Content-Type: header.  This allows
  245.           the receiving user agent to unambiguously interpret the body
  246.           and process it accordingly.
  247.  
  248.           This memo introduces a new header field, "Content-Privacy",
  249.           which is used to indicate that the message should undergo
  250.           privacy-enhancement prior to submission.  The syntax of this
  251.           header field corresponds to the <privacy-value> production
  252.           defined above.
  253.  
  254.  
  255.           5.1.  Pre-Submission Algorithm
  256.  
  257.           Prior to submission, the user agent applies this algorithm:
  258.  
  259.           (1)  If the content does not contain the Content-Privacy:
  260.                header, then the user agent sees if the content is either
  261.                multipart or message.  If so, it then recursively applies
  262.                this algorithm to the encapsulated body parts; if not, it
  263.                terminates processing for this content.
  264.  
  265.           (2)  If the content does contain the Content-Privacy: header,
  266.                the content is transformed from local form to its
  267.                canonical form.  Note that if a Content-Transfer-
  268.                Encoding: header is present, then the content encoding is
  269.                reversed as a part of this process.
  270.  
  271.           (3)  If the canonical form of the content uses octet values
  272.                outside of the NVT ASCII repertoire, and if the value of
  273.                the Content-Privacy: header is MIC-CLEAR, then this
  274.                inconsistency is reported to the user and the algorithm
  275.                aborts.
  276.  
  277.           (4)  Otherwise, the privacy-enhancement indicated by the
  278.                Content-Privacy: header is performed, constructing a new
  279.                content.  The Content- headers, other than Content-
  280.                Transfer-Encoding: and Content-Privacy:, are taken from
  281.                the original content, if any.
  282.  
  283.           (5)  If the value of the Content-Privacy: header is not MIC-
  284.                CLEAR, then the base64 content encoding is applied and a
  285.                Content-Transfer-Encoding: header is added to the new
  286.  
  287.  
  288.  
  289.  
  290.  
  291.           Expires May 16, 1993                                  [Page 5]
  292.  
  293.  
  294.  
  295.  
  296.  
  297.           draft                MIME-PEM Interaction               Nov 92
  298.  
  299.  
  300.                content.
  301.  
  302.           (6)  Finally, a multipart/pem content is constructed, whcih
  303.                contains the new content and a corresponding
  304.                application/pem content.  The multipart/pem content
  305.                replaces the original content.
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.           Expires May 16, 1993                                  [Page 6]
  351.  
  352.  
  353.  
  354.  
  355.  
  356.           draft                MIME-PEM Interaction               Nov 92
  357.  
  358.  
  359.           6.  Message Delivery
  360.  
  361.           When a user receives a message containing an multipart/pem
  362.           content, the user agent may transform the content back into
  363.           its original content type.  This operation, the post-delivery
  364.           algorithm, is performed by reversing the steps performed
  365.           during the pre-submission algorithm.
  366.  
  367.           When the original content is reconstituted into canonical
  368.           form, it may use octet values outside of the NVT ASCII
  369.           repertoire.  If the user agent replaces the multipart/pem
  370.           content with the original content, then it must select an
  371.           appropriate transfer encoding and include the appropriate
  372.           Content-Transfer-Encoding: header.
  373.  
  374.  
  375.           Upon successful completion of the post-delivery algorithm for
  376.           each content, the user agent adds a new header field,
  377.           "Content-Annotation", which is used to indicate the privacy-
  378.           enhancements that were in effect when the content was
  379.           submitted.  The syntax of this header field, using the ABNF
  380.           notation of [1], is:
  381.  
  382.                content-annotation ::= "Content-Annotation" ":"
  383.                                                      annotation-value
  384.  
  385.                annotation-value   ::= <privacy-value> ";" <date-time>
  386.  
  387.           with <privacy-value> corresponding to the privacy-enhancements
  388.           that was in effect during submission, and <date-time>, defined
  389.           in [1], indicates the date and time that the privacy-
  390.           enhancements were verified by the receiving user agent.
  391.  
  392.                                        NOTE
  393.                It must be strongly emphasized that the user's level of
  394.                trust in the value of the Content-Annotation: header
  395.                should be no higher than the user's level of trust in the
  396.                message store employed by the user agent.
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.           Expires May 16, 1993                                  [Page 7]
  410.  
  411.  
  412.  
  413.  
  414.  
  415.           draft                MIME-PEM Interaction               Nov 92
  416.  
  417.  
  418.           7.  An Example
  419.  
  420.           For example, suppose the following message was being readied
  421.           for submission:
  422.  
  423.                Date:    Thu, 12 Nov 1992 21:43:40 -0800
  424.                From:    scrocker@tis.com
  425.                To:      ned@innosoft.com
  426.                Subject: example #1
  427.                MIME-Version:    1.0
  428.                Content-Type:    text/plain; charset=us-ascii
  429.                Content-Privacy: mic-clear
  430.  
  431.                Hi Ned.  See how much nicer this works!
  432.  
  433.           After applying pre-submission algorithm, the message submitted
  434.           for delivery would appear as:
  435.  
  436.                Date:    Thu, 12 Nov 1992 21:43:40 -0800
  437.                From:    scrocker@tis.com
  438.                To:      ned@innosoft.com
  439.                Subject: example #1
  440.                MIME-Version: 1.0
  441.                Content-Type: multipart/pem; boundary="next-part";
  442.                                             privacy=mic-clear
  443.  
  444.                Content-Type: text/plain; charset=us-ascii
  445.  
  446.                Hi Ned.  See how much nicer this works!
  447.  
  448.                --next-part
  449.                Content-Type: application/pem
  450.  
  451.                Proc-Type: 4,MIC-CLEAR
  452.                Content-Domain: RFC822
  453.                Originator-ID-Asymmetric: ...
  454.                MIC-Info: RSA-MD5,RSA, ...
  455.  
  456.                --next-part--
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.           Expires May 16, 1993                                  [Page 8]
  469.  
  470.  
  471.  
  472.  
  473.  
  474.           draft                MIME-PEM Interaction               Nov 92
  475.  
  476.  
  477.           After applying the post-delivery algorithm, the resulting
  478.           message would appear as:
  479.  
  480.                Date:    Thu, 12 Nov 1992 21:43:40 -0800
  481.                From:    scrocker@tis.com
  482.                To:      ned@innosoft.com
  483.                Subject: example #1
  484.                MIME-Version:      1.0
  485.                Content-Type:      text/plain; charset=us-ascii
  486.                Content-Annotation: mic-clear;
  487.                                    Thu, 12 Nov 1992 22:13:40 -0800
  488.                                    (integrity verified)
  489.  
  490.                Hi Ned.  See how much nicer this works!
  491.  
  492.           Of course, as the message being submitted was only plain text,
  493.           the Content-Type: header could be ommitted.  In that case,
  494.           after applying the pre-submission algorithm, the message
  495.           submitted for delivery would appear as:
  496.  
  497.                Date:    Thu, 12 Nov 1992 21:43:40 -0800
  498.                From:    scrocker@tis.com
  499.                To:      ned@innosoft.com
  500.                Subject: example #1
  501.                MIME-Version: 1.0
  502.                Content-Type: multipart/pem; boundary="next-part";
  503.                                             privacy=mic-clear
  504.  
  505.                Hi Ned.  See how much nicer this works!
  506.  
  507.                --next-part
  508.                Content-Type: application/pem
  509.  
  510.                Proc-Type: 4,MIC-CLEAR
  511.                Content-Domain: RFC822
  512.                Originator-ID-Asymmetric: ...
  513.                MIC-Info: RSA-MD5,RSA, ...
  514.  
  515.                --next-part--
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.           Expires May 16, 1993                                  [Page 9]
  528.  
  529.  
  530.  
  531.  
  532.  
  533.           draft                MIME-PEM Interaction               Nov 92
  534.  
  535.  
  536.           8.  Observations
  537.  
  538.           The use of the pre-submission and post-delivery algorithms
  539.           exhibit several properties:
  540.  
  541.           (1)  It allows privacy-enhancement of an arbitrary content,
  542.                not just an RFC 822 message.
  543.  
  544.           (2)  For a multipart or message content, it allows the user to
  545.                decide whether the structure of the content should
  546.                receive privacy-enhancement.
  547.  
  548.           (3)  It allows a message to contain several privacy enhanced
  549.                contents, thereby removing the requirement for PEM
  550.                software to be able to generate or interpret a single
  551.                content which intermixes both unenhanced and enhanced
  552.                components.
  553.  
  554.           (4)  It minimizes confusion when viewing a MIC-CLEAR content
  555.                without a PEM-capable user agent.
  556.  
  557.           (5)  It minimizes confusing when viewing a MIC-ONLY content
  558.                with a MIME-capable user agent that is not PEM-capable.
  559.  
  560.  
  561.           9.  Acknowledgements
  562.  
  563.           David H. Crocker suggested the use of a multipart structure
  564.           for MIME-PEM interaction.
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.           Expires May 16, 1993                                 [Page 10]
  587.  
  588.  
  589.  
  590.  
  591.  
  592.           draft                MIME-PEM Interaction               Nov 92
  593.  
  594.  
  595.           10.  References
  596.  
  597.           [1]  D.H. Crocker.  Standard for the Format of ARPA Internet
  598.                Text Messages.  Request for Comments 822, (August, 1982).
  599.  
  600.           [2]  N. Borenstein, N. Freed, Multipurpose Internet Mail
  601.                Extensions.  Request for Comments 1341, (June, 1992).
  602.  
  603.           [3]  J. Linn, Privacy Enhancement for Internet Electronic
  604.                Mail -- Part I: Message Encryption and Authentication
  605.                Procedures.  Internet-Draft, (July 23, 1992).
  606.  
  607.           [4]  S. Kent, Privacy Enhancement for Internet Electronic
  608.                Mail -- Part II: Certificate-Based Key Management.
  609.                Internet-Draft, (August 6, 1992).
  610.  
  611.           [5]  D. Balenson, Privacy Enhancement for Internet Electronic
  612.                Mail -- Part III: Algorithms, Modes, and Identifiers.
  613.                Internet-Draft, (September 3, 1992).
  614.  
  615.           [6]  B. Kaliski, Privacy Enhancement for Internet Electronic
  616.                Mail -- Part IV: Key Certification and Related Services
  617.                Internet-Draft, (September 1, 1992).
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.           Expires May 16, 1993                                 [Page 11]
  646.  
  647.  
  648.  
  649.  
  650.  
  651.           draft                MIME-PEM Interaction               Nov 92
  652.  
  653.  
  654.           Table of Contents
  655.  
  656.  
  657.           1 Status of this Memo ...................................    1
  658.           2 Abstract ..............................................    1
  659.           3 Introduction ..........................................    2
  660.           4 Definiton of new Content Types ........................    3
  661.           4.1 Definition of the multipart/pem Content Type ........    3
  662.           4.2 Definition of the application/pem Content Type ......    4
  663.           5 Message Composition ...................................    5
  664.           5.1 Pre-Submission Algorithm ............................    5
  665.           6 Message Delivery ......................................    7
  666.           7 An Example ............................................    8
  667.           8 Observations ..........................................   10
  668.           9 Acknowledgements ......................................   10
  669.           10 References ...........................................   11
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.           Expires May 16, 1993                                 [Page 12]
  705.  
  706.